namespace TimeMachine.Engine.Vcs
{
	public class FileChangeInfo
	{
		public FileChangeInfo(string path)
		{
			Path = path;
		}

		public string Path { get; set; }

		public override string ToString()
		{
			return string.Format("{0} {1}", GetType().Name, Path);
		}
	}

	public class FileAddedInfo : FileChangeInfo
	{
		public FileAddedInfo(string path)
			: base(path)
		{
		}

		public string CopyFromPath { get; set; }
		public int CopyFromRev { get; set; }
	}

	public class FileModifiedInfo : FileChangeInfo
	{
		public FileModifiedInfo(string path)
			: base(path)
		{
		}
	}

	public class FileReplacedInfo : FileChangeInfo
	{
		public FileReplacedInfo(string path)
			: base(path)
		{
		}
	}

	public class FileDeletedInfo : FileChangeInfo
	{
		public FileDeletedInfo(string path)
			: base(path)
		{
		}
	}
}